<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Licencia_lst( $this );

	class Licencia_lst extends Lst
	{
	function Licencia_lst( &$oModule )
		{
			$this->Lst( $oModule );
		}
	function initialize()
		{
			$this->setTitle ( "Licencia" );
			$this->setSummary( "Esta tabla contiene las Licencias del personal" );
			$this->addColumn ( 'Nombre', '', true );
			$this->addColumn ( 'Licencia', '', 'dDesde' );
			$this->addColumn ( 'Motivo', 'cdMotivoLicencia' );
			$this->oFecha = new dateObject();
			$this->setColumnAction ( 'Nombre', VER_PERSONA, 'ncPersona');
		}
	function makeColumn ( $aRow, $cField )
	{
		switch( $cField )
		{
			case 'KeyDay':
				$this->oFecha->setValue( $aRow['dDesde'] );
				$cReturn =  $this->oFecha->getValue();
				break;
			case 'Nombre':
				$cReturn = $aRow['cNombre'] ;
				if ( $aRow['cAlias'] ) $cReturn .= " ( " . $aRow['cAlias']  . " )";
				$cReturn .= ' ' . $aRow['cApellido'] ;
				break;
			case 'Licencia':
				$cReturn = "";
				$this->oFecha->setValue ( $aRow['dDesde'] );
				if ( $aRow['dDesde'] ) $cReturn = $this->oFecha->getShortDescription() ;
				$this->oFecha->setValue ( $aRow['dHasta'] );
				if ( $aRow['dHasta'] ) $cReturn .=  ' - ' . $this->oFecha->getShortDescription();
				break;
			default:
					return false;
				break;
		}
		return $cReturn;
	}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT PLi.ncOrden, Per.ncPersona, Per.cApellido, Per.cNombre, PLi.dDesde, PLi.dHasta, MoL.cdMotivoLicencia
												FROM atPersona as Per
												JOIN atPersonalLicencia as PLi
													ON PLi.ncPersona = Per.ncPersona
												LEFT JOIN acMotivoLicencia as MoL
													ON MoL.ncMotivoLicencia = PLi.ncMotivoLicencia";
			// Arma el Filtro de la Consulta
				$oFiltro = $this->oModule->loadClass( 'Licencia_frm' );
				$this->oWhere->addArray ( $oFiltro->getFilterdArray() , 'PLi');
				$cdPersona = $this->aFields [cdPersona];
				if ( $cdPersona  ) 	$this->oWhere->addExpression ( "cdPersona", " cApellido LIKE '%$cdPersona%' OR cNombre LIKE '%$cdPersona%' " );
				if ( $this->getOptionView() == 'C' ) list( $dDesde, $dHasta ) = $this->getDateRange();
				if ( $dDesde && $dHasta ) $this->oWhere->add( "PLi.dDesde", "$dDesde,$dHasta", "between");
				return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( AGREGAR_LICENCIA, $cParametroRegistro, 'I', VENTANA_SECUNDARIA );
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro =  "ncPersona=" . $aRow["ncPersona"] . "&amp;ncOrden=" . $aRow["ncOrden"];
			$this->addRowAction ( MODIFICAR_LICENCIA, $cParametroRegistro , '', VENTANA_SECUNDARIA);
			$this->addRowAction ( ELIMINAR_LICENCIA, $cParametroRegistro);
		}
	}
?>
